import re

#指定直接匹配
pattern = re.compile(r'2233')
result = pattern.findall('2233 asdasd dsadasd 999988 38 2233')
print(result)

pattern = re.compile(r'asdasd')
result = pattern.findall('2233 asdasd dsadasd 999988 38 2233')
print(result)

print("---------------------------------------------------------------------------------------------------------------")
#匹配所有数字，空格和字符用''占位
pattern = re.compile(r'\d*')
result = pattern.findall('2233 asdasd dsadasd 999988 38 2233')
print(result)

print("---------------------------------------------------------------------------------------------------------------")
#匹配四位数的数字，如果数字超过4位，从左至右截取4位，否者不选取
pattern = re.compile(r'\d{4}')
result = pattern.findall('2233 asdasd dsadasd 999988 38 2233')
print(result)

print("---------------------------------------------------------------------------------------------------------------")
#匹配规则：两位数字后面有空格且还有两位数字（数字长的可以截取两位）
pattern = re.compile(r'\d{2}\s+\d{2}')
result = pattern.findall('2233 asdasd dsadasd 999988 38 -2233')
print(result)

pattern = re.compile(r'\s\d{2}')
result = pattern.findall('2233 asdasd dsadasd 999988 38 -2233')
print(result)

print("---------------------------------------------------------------------------------------------------------------")
#匹配非特殊字符且满足字符在11位
pattern = re.compile(r'\w{11}')
result = pattern.findall('2233 asdasd dsadasd 999988  38 _2213asdeee')
print(result)

pattern = re.compile(r'\w{11}')
result = pattern.findall('2233 _asdasd236f dsadasd 999988  38 _2213asdeee')
print(result)

print("---------------------------------------------------------------------------------------------------------------")
#匹配小写字母a-z，且前一字符出现一次或无限次，至少出现一次
pattern = re.compile(r'[a-z]+')
result = pattern.findall('2233 asdasd dsadasdQA 999988  38 _2213asdeee')
print(result)

print("---------------------------------------------------------------------------------------------------------------")
#匹配包括字母大小写，且前一字符出现一次或无限次，至少出现一次
pattern = re.compile(r'[A-Z|a-z]+')
result = pattern.findall('2233 asdasd dsadasdQA 999988  38 _2213asdeee')
print(result)

'''
这里使用了“正向后视断言和正向前视断言
    (?<=name:)是正向后视断言
    .+是匹配一个或多个字符
    (?=\\s+age)是正向前视断言
    我的手机号码是:13812345678，请联系我。另一个号码是25123456789，这不是一个手机号码。
    
'''
print("---------------------------------------------------------------------------------------------------------------")
pattern = re.compile(r'(?<=name:).+(?=\s+age)')
result = pattern.findall('name:zhang san yi age: w1231 asda sd')
print(result)


print("-------------------------------------------------------自己写的--------------------------------------------------------")
numberTT = re.compile(r'\d{11}')
result = numberTT.findall("我的手机号码是:13812345678，请联系我。另一个号码是25123456789，这不是一个手机号码。12937653843,这是我同事的号码：13084632376")
print(result)


numberTT = re.compile(r'\b1[3-9]\d{9}')
result = numberTT.findall("我的手机号码是:13812345678，请联系我。另一个号码是25123456789，这不是一个手机号码。12937653843,这是我同事的号码:13084632376")
print(result)

content = '''好的，图片中的文字如下：
```
现货速发
5A+
商超大果
抢！热销20W单
烟台红富士苹果
不打蜡 自然熟
```'''

ss = [1,2,3,4,5,6,7]

print(ss[3:-1])
pattern = re.compile(r"(.+)")

result = pattern.findall(content)
a = result.index(result[-1])
print(a)
print(result[a+1:-1])

print("--"*100)

arr = ['当然可以！图片中的文字如下：\n\n- 正宗\n- 果冻橙\n- 只发顺丰\n- 核心产区\n- 爆卖160万单']
test = '''图片中的文字如下：

- 正宗
- 果冻橙
- 只发顺丰
- 核心产区
- 爆卖160万单'''
result = test.split()
#print(list(set(result)))   #无序

#有序
arrStr = list(dict.fromkeys(result))

a = arrStr.index('-')
print(arrStr[a+1:])
#print(result[1:])

print("--"*100)
print(re.match(r'\d{2,3}', '12345678fg7294'))



